// src/utils/i18n.js

import { createI18n } from "vue-i18n";
import tw from "@/locales/tw.json";
import en from "@/locales/en.json";

// 获取本地存储的语言或默认值
let locale = uni.getStorageSync('user-locale') || 'en';

// 创建 i18n 实例
const i18n = createI18n({
  legacy: false,
  locale,
  globalInjection: true,
  messages: {
    tw,
    en
  },
});

// 切换语言的方法
export const changeLanguage = () => {
  const currentLocale = uni.getStorageSync('user-locale') || i18n.global.locale.value;
  i18n.global.locale.value = currentLocale; // 使用 .value 来修改响应式对象
  uni.setStorageSync('user-locale', i18n.global.locale.value);

  // 重新设置 tabBar 文本
  uni.setTabBarItem({
    index: 0,
    text: i18n.global.t('pagesTitle.index')
  });

  uni.setTabBarItem({
    index: 1,
    text: i18n.global.t('pagesTitle.quantification')
  });

  uni.setTabBarItem({
    index: 2,
    text: i18n.global.t('pagesTitle.invest')
  });

  uni.setTabBarItem({
    index: 3,
    text: i18n.global.t('pagesTitle.serve')
  });

  uni.setTabBarItem({
    index: 4,
    text: i18n.global.t('pagesTitle.mine')
  });
};

export default i18n;
